// 1.安装模块npm install better-sqlite3 

// npm install cnpm -g
// cnpm install better-sqlite3

//2.加载better-sqlite3模块，加载完成后返回一个sqlite数据的连接的构造函数
const Database=require("better-sqlite3");

// 3.通过Database构造器构建完成连接的对象
/* new Database(path,[options]);
        path:以路径的方式指定sqlite数据库文件
    options：数据库连接时的相关配置，用于设定数据库操作模式 
         fileMustExist:true,当设置为true时，表示指定文件必须存储，如果不存在将报错，不会创建新的数据库文件
         verbose:提供个函数，用于记录和触发后续的数据操作
    
*/
const db=new Database("./mydata.sqlite",{
    fileMustExist:true,
    verbose:console.log//会将执行的sql语句输出在终端
});


// 4.通过db对象完成数据库的操作，主要使用db.prepare()方法
    // db.prepare(sql语句)通过定义sql语句操作
    //     sql语法：数据的操作的标准语法

let sql='select id,username,password from t_user';

// stmt执行流对象，将sql语句编译成二进制文件通过代码的方式传递给sqlite文件，然后进行操作
const stmt=db.prepare(sql);

/* 5.基于stmt对象，完成数据库的数据调用(查询、删除、修改、添加)
    查询调用 stmt.all()  stmt.get() 
    删除调用、修改调用、添加调用：stmt.run()
*/

//查询调用，stmt.get()只返回查询结果中的第一条数据
// let row=stmt.get();
// console.log(row);


// 查询调用，stmt.all()只返回查询结果所有查询数据
let rows=stmt.all();
console.log(rows);
